package 字符流写数据;
/*
构造方法：
    OutputStreamWriter (OoutputStream out):创建一个使用默认字符编码的OutputStreamWriter

    写数据的5种方式：
    void writer (int c):写一个字符
    void writer (char[] cbuf):写入一个字符数组
    void writer (char[] cbuf,int off,int len):写入字符数组的一部分
    void writer (String str):写一个字符串
    void writer (String str,int off,int len):写一个字符串的一部分

 */

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;

public class OutputStreamWriterDemo {
    public static void main(String[] args) throws IOException {
        //  OutputStreamWriter (OoutputStream out):创建一个使用默认字符编码的OutputStreamWriter
        OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("fos.txt"));
        //void writer (int c):写一个字符
 /*       osw.write(97);
        //void flash():刷新流！！！（仅仅刷新字符流的缓冲，还可以继续写数据)
        osw.flush();
        osw.write(98);
        osw.flush();
        osw.write(99);//没有用刷新流，close方法在释放资源之前会做flush方法*/

        //void writer (char[] cbuf):写入一个字符数组
        char[] chs = {'a', 'b', 'c', 'd', 'e'};
//        osw.write(chs);

        //void writer (char[] cbuf,int off,int len):写入字符数组的一部分
        osw.write(chs, 0, chs.length);
        osw.write(chs, 1, 3);

        // void writer (String str):写一个字符串
        osw.write("abcde");

        // void writer (String str,int off,int len):写一个字符串的一部分
        osw.write("abcde", 0, "abcde".length());
        osw.write("abcde", 1, 3);

        /*public void flush() throws IOException {
            se.flush();
        }*/
        osw.close();
//        osw.write(100);//字符流关闭后不能继续写数据
    }
}
